In one type of network-connected network device, a plurality of Virtual Machines (VMs) is running on a host computer. The network-connected network device may, for example, be a web hosting server that implements multiple virtual web servers. A Network Interface Card (NIC) is coupled to the host computer via a Peripheral Component Interconnect Express (PCIe) bus. From the perspective of one of the virtual machines, the virtual machine appears to have its own NIC interface to the network when in reality all the hosted virtual machines share use of the same one NIC interface. In one example, a packet is received from the network and onto the NIC. This packet is destined for a particular one of the virtual machines. The packet is received onto the NIC, and is passed across the PCIe bus via a PCIe virtual function to the host computer. The host computer analyzes the packet. Based on this analysis and/or switching rules and/or flow tables, the processor of the host computer then writes the packet into memory space of the appropriate one of the virtual machines. Packet traffic can also pass in the opposite direction. A packet originating from a virtual machine is analyzed by the processor of the host. Based on this analysis and/or switching rules and/or flow tables, the packet is transferred via the appropriate PCIe virtual function, across the PCIe bus, to the NIC, and out of the NIC to the network. Various standards and mechanisms exist for implementing this general functionality.